	subroutine simple_diir1d( nf, ng, f, g, h)
	double precision f(0:(nf-1)), g(0:(ng-1)), h(0:(nf+ng-2))
	integer nf, ng

	integer i, j, k

	do k = 0, nf-1
	    h(k) = f(k)
	end do

	do j = 0, nf-1
	    k = max( j - (ng-1), 0)
	    do i = k, j-1
		h(j) = h(j) - h(i) * g(j-i)
	    end do
	    h(j) = h(j) / g(0)
	end do

	return
	end
